package com.ruoyi.vote.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.vote.admin.domain.VoteLike;
import com.ruoyi.vote.admin.domain.vo.VoteLikeVo;
import com.ruoyi.vote.admin.domain.bo.VoteLikeBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 活动 - 投票信息Service接口
 *
 * @author 筑巢
 * @date 2023-07-17
 */
public interface IVoteLikeService extends IService<VoteLike> {

    /**
     * 查询活动 - 投票信息
     */
    VoteLikeVo queryById(Long id);

    /**
     * 查询活动 - 投票信息列表
     */
    TableDataInfo<VoteLikeVo> queryPageList(VoteLikeBo bo, PageQuery pageQuery);

    /**
     * 预约投票 ( 不会增加票数 )
     * @param bo
     * @return
     */
    Boolean preLike(VoteLikeBo bo);

    /**
     * 用户投票
     */
    Boolean likeUserVoting(String userId, String eventId, String number);

    /**
     * 用户投票( 指定投票数,无限制 )
     */
    Boolean likeUserVoting(String userId, String eventId, String number, Integer num);

}
